package com.cloudkinto.bo.order.makeshop.getOrder;

import com.cloudkinto.annotate.GraphqlResultAttribute;
import lombok.Data;

import java.util.List;

/**
 * @author long
 * @Description 配送信息
 * @Date 2025/4/25 13:34
 */
@Data
@GraphqlResultAttribute
public class DeliveryInfo {

    /**
     * 送货地址ID
     * ※只有在礼品配送订单的情况下才会返回值
     */
    private String deliveryId;

    /**
     * 配送状态
     * N：未処理
     * Y：配送完了
     * C：キャンセル
     * R：返送
     */
    private String deliveryStatus;

    /**
     * 配送公司代码
     */
    private String deliveryCompanyCode;

    /**
     * 配送单据编号
     */
    private String slipNumber;

    /**
     * 配送完成日期 eg.20220308101658
     */
    private String deliveryDate;

    /**
     * 配送方法ID（YYYYMMDDhhmmss形式）
     */
    private String deliveryMethodIds;

    /**
     * 配送希望日
     */
    private String desiredDeliveryDate;

    /**
     * 配送希望時間帯
     */
    private String desiredDeliveryTimezone;

    /**
     * 预计发货日期
     */
    private String estimatedShipmentDate;

    /**
     * 配送费用
     */
    private int shippingCharge;

    /**
     * 收款人法人名称
     */
    private String receiverCompany;

    /**
     * 收件人法人假名
     */
    private String receiverCompanyKana;

    /**
     * 收件人部门名称
     */
    private String receiverCompanyDept;

    /**
     * 收件人姓名
     */
    private String receiverName;

    /**
     * 收件人姓名假名
     */
    private String receiverNameKana;

    /**
     * 收件人邮政编码
     */
    private String receiverPost;

    /**
     * 收件人地址	(都道府県)
     */
    private String receiverPrefecture;

    /**
     * 收件人地址(市区町村・番地など)
     */
    private String receiverAddress;

    /**
     * 收件人地址(后续)
     */
    private String receiverAddress2;

    /**
     * 收件人電話番号
     */
    private String receiverTel;

    /**
     * 配送备注
     */
    private String deliveryMessage;

    /**
     * 出货指示状态
     * 0：出荷未指示（未发货）
     * 1：出荷準備中(准备发货)
     * 2：出荷指示済み（已指示发货）
     */
    private String wmsStatus;

    /**
     * 发货准备中订单是否更新了标志
     * N：変更していない
     * Y：変更した
     */
    private String wmsChangeStatus;

    /**
     * 订单总额
     */
    private int deliverySumPrice;

    /**
     * 配送商品信息
     */
    private List<BasketInfo> basketInfos;
}